# -*- coding: iso-8859-1 -*-
#
#    This is part of Malvinas Argentinas Messenger
#
#    Malvinas Argentinas Messenger is free software; you can redistribute
#    it and/or modify it under the terms of the GNU General Public License
#    as published by the Free Software Foundation; either version 2 of the
#    License, or (at your option) any later version.
#
#    Malvinas Argentinas Messenger is distributed in the hope that it will be
#    useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with Malvinas Argentinas Messenger; if not, write to the Free 
#    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, 
#    MA  02110-1301  USA

import msgWin, msg, button
import time, string
import gettext
_ = gettext.gettext

def handleOption(ui, i):
	if i <> -2:
		ui.options_win = 0		
		if i <> -1:
			ui.options_index = -1
			ui.options_list = 0
		if i == 0:
			if ui.mam.contactListManager.default_user <> -1:
				return
			if not ui.mam.contactListManager.gList.grupos[ui.mam.contactListManager.default_group].blocked:
				ui.mam.contactListManager.gList.grupos[ui.mam.contactListManager.default_group].block()
				for p in ui.mam.contactListManager.gList.grupos[ui.mam.contactListManager.default_group].passports.passports:
					if 'B' not in ui.mam.m.users[p.name].lists:
						ui.mam.m.userblock(p.name)
						p.blocked = 1
						if p.nick == p.name:
							p.nick = p.realnick
						if p.nick <> '':
							str = p.nick + ' (' + p.name + ')'
						else:
							str = p.name
						ctime = time.strftime(ui.mam.config['timestamp_format'], time.localtime())
						ui.printMsg('\n%s ' % ctime, ui.COLORS.WHITE)
						ui.printMsg('%s %s %s' % (_("User"), str, _('has been blocked')), ui.COLORS.MSG_BLOCK)
			else:
				ui.mam.contactListManager.gList.grupos[ui.mam.contactListManager.default_group].unblock()
				for p in ui.mam.contactListManager.gList.grupos[ui.mam.contactListManager.default_group].passports.passports:
					if 'B' in ui.mam.m.users[p.name].lists:
						ui.mam.m.userunblock(p.name)
						p.blocked = 0
						if p.nick == p.name:
							p.nick = p.realnick
						if p.nick <> '':
							str = p.nick + ' (' + p.name + ')'
						else:
							str = p.name
						ctime = time.strftime(ui.mam.config['timestamp_format'], time.localtime())
						ui.printMsg('\n%s ' % ctime, ui.COLORS.WHITE)
						ui.printMsg('%s %s %s' % (_("User"), str, _('has been unblocked')), ui.COLORS.MSG_UNBLOCK)
			ui.padArray.refresh(_('EVENTS'))

			# Rebuild entire_list so we can see the [!]
			relative_pos = ui.scrList.default_scrListpos%(ui.maxY-11)
			ui.scrList.build_entire_scrList(ui.scrList.default_scrListpos - relative_pos)
			ui.scrList.build_visible_scrList()
			ui.scrList.print_scrList()

			# Close menu
			ui.options_index = -1 
			ui.options_list = 0
			del ui.winOpt2
		ui.refreshScr()

# We create the MsgWin
def showWin(mam):
	#if mam.contactListManager.default_user <> -1:
	#	return
	# Get group data
	gname = mam.contactListManager.gList.grupos[mam.contactListManager.default_group].name
	blocked = mam.contactListManager.gList.grupos[mam.contactListManager.default_group].checkifBlocked()
	if blocked:
		str = _('UNBLOCK GROUP')
		bl = _('unblock')
	else:
		str = _('BLOCK GROUP')
		bl = _('block')
	# Create win
	msgWin.MsgWin(mam, str, \
	[msg.Msg('%s ' % _("Are you sure you want to") + bl, '', 1), \
	msg.Msg(_("all the contacts of the group"), '', 1), \
	msg.Msg("%s ?" % gname, mam.ui.COLORS.OPTIONS_WIN4, 1)], \
	[button.Button(_("YES"), 1), button.Button(_("NO"), 0)], mam.ui.maxX * 5 / 8)
	mam.ui.winOpt2.gname = gname
	mam.ui.winOpt2.blocked = blocked
